概述#
/hooks 命令用于管理工具事件的钩子配置。钩子允许你在特定事件发生时自动执行自定义脚本或命令。
基本语法#
bash
子命令#
| 子命令 | 描述 |
|---|---|
| 无参数 | 列出所有已配置的钩子 |
add | 添加新的钩子 |
edit | 编辑现有钩子 |
remove | 删除钩子 |
enable | 启用钩子 |
disable | 禁用钩子 |
功能说明#
列出钩子#
bash
添加钩子#
bash
删除钩子#
bash
钩子事件#
Claude Code 支持以下钩子事件:
| 事件 | 描述 |
|---|---|
before-edit | 文件编辑前 |
after-edit | 文件编辑后 |
before-run | 命令执行前 |
after-run | 命令执行后 |
on-error | 错误发生时 |
on-success | 任务成功时 |
使用场景#
1. 代码格式化#
bash
2. 运行测试#
bash
3. 备份文件#
bash
4. 通知#
bash
钩子配置示例#
格式化钩子#
yaml
测试钩子#
yaml
备份钩子#
yaml
环境变量#
钩子命令可以使用以下环境变量:
| 变量 | 描述 |
|---|---|
$FILE | 被编辑的文件路径 |
$COMMAND | 执行的命令 |
$STATUS | 命令退出状态 |
$WORKING_DIR | 工作目录 |
注意事项#
- 钩子命令在工作目录中执行
- 钩子执行失败不会阻止主流程
- 可以禁用钩子而不删除
- 钩子配置保存在项目或用户级别
与其他命令的配合使用#
bash
最佳实践#
- 合理使用:只在必要时使用钩子,避免过度自动化
- 错误处理:确保钩子命令有适当的错误处理
- 性能考虑:避免在钩子中执行耗时操作
- 测试钩子:添加钩子后,测试其行为是否符合预期
总结#
/hooks 命令是 Claude Code 中用于自动化工作流的重要工具。通过使用此命令,你可以:
- 在特定事件发生时自动执行命令
- 自动化重复性任务
- 实现自定义工作流
- 提高工作效率
合理使用 /hooks 命令可以帮助你创建更高效的开发工作流。